package 匿名对象及其作为参数及返回值;


import java.util.Scanner;

/*

调用方法，仅仅只调用一次的时候
匿名对象可以作为实际参数传递

*/
public class Anonymous {
    public static void main(String[] args) {
        person one = new person();
        one.a = 11;
        one.souta();

        System.out.println("********************");
        //匿名对象
        new person().a = 99;
        new person().souta();

        System.out.println("**********************************");
        //普通使用方式
        System.out.println("普通使用方式，请输入");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        System.out.println(num);
        //匿名对象使用方式
        System.out.println("匿名对象使用方式,请输入");
        int num1 = new Scanner(System.in).nextInt();
        System.out.println(num1);
        System.out.println("**********************************" + "\n");

        //普通参数传递
        //Scanner s1=new Scanner(System.in);
        //some(s1);

        //匿名对象参数传递
        System.out.println("匿名对象参数传递,请输入");
        some(new Scanner(System.in));
        System.out.println("**********************************" + "\n");

        //匿名对象作为返回值
        Scanner s2 = somereturn();
        int num2 = s2.nextInt();
        System.out.println("匿名对象返回值是：" + num2);


    }

    public static void some(Scanner a1) {
        int num = a1.nextInt();
        System.out.println("匿名对象参数传递输入的是：" + num);
    }

    //匿名对象作为返回值
    public static Scanner somereturn() {
        return new Scanner(System.in);
    }
}
